c5f80a460e346bda657ae51fea0f939e5453ad18,portal-impl/src/com/liferay/portal/staging/StagingImpl.java,StagingImpl,setRecentLayoutRevisionId,#PortalPreferences#number#number#number#,2271

Before Change


					portalPreferences, layoutSetBranchId, plid);
			}
			else {
				portalPreferences.setValue(
					Staging.class.getName(),
					getRecentLayoutRevisionIdKey(layoutSetBranchId, plid),
					String.valueOf(layoutRevisionId));
			}
		}
		catch (PortalException pe) {

After Change


					portalPreferences, layoutSetBranchId, plid);
			}
			else {
				String oldPortalPreferences = portalPreferences.getValue(
					Staging.class.getName(), "ATTRIBUTE_MAP");

				try {
					JSONArray jsonArray = JSONFactoryUtil.createJSONArray();

					JSONArray oldJsonArray = JSONFactoryUtil.createJSONArray(
						oldPortalPreferences);

					String recentLayoutRevisionIdKey = 
						getRecentLayoutRevisionIdKey(layoutSetBranchId, plid);

					boolean alreadyExists = false;

					for (int i = 0; i < oldJsonArray.length(); i ++) {
						JSONObject jsonObject = oldJsonArray.getJSONObject(i);

						if (Validator.isNotNull(jsonObject.getString(
							recentLayoutRevisionIdKey))) {

							alreadyExists = true;

							jsonObject.remove(recentLayoutRevisionIdKey);

							jsonObject.put(recentLayoutRevisionIdKey,
								String.valueOf(layoutRevisionId));
						}

						jsonArray.put(jsonObject);
					}

					if (!alreadyExists) {
						JSONObject jsonObject = 
							JSONFactoryUtil.createJSONObject();

						jsonObject.put(recentLayoutRevisionIdKey, 
							String.valueOf(layoutRevisionId));

						jsonArray.put(jsonObject);
					}

					portalPreferences.setValue(
						Staging.class.getName(), "ATTRIBUTE_MAP",
						jsonArray.toString());
				} 
				catch (JSONException je) {
					if (_log.isWarnEnabled()) {